6 - Advanced Design and Programming [ID:12143]
50 von 768 angezeigt

Die Art und Weise, sich dadurch zu arbeiten, zu realisieren, das sind Worte, die man erst

mal, wenn man noch lernt, gar nicht kennt, die aber sehr spezifische Bedeutung haben.

Und auch viel, das in dieser Vorlesung kommt, ist auf der einen Seite aus meiner Sicht grundlegend

und sollten Sie wissen, zum Teil aber gar nicht so gut in Lehrbüchern verarbeitet,

weswegen wir als Leseinhalt auch meistens Artikel haben. Heute recht bodenständig steigen wir ein

mit Methodentypen und Methodeneigenschaften, also wenn man so möchte noch recht klein auf

der Ebene einzelner Methoden. Der Methodentyp hier ist die Beschreibung oder Klassifikation

des Arts, der Art oder des Typs einer Methode und man definiert Methoden, die Typen von Methoden

nach dem Zweck, den eine Methode hat. Nicht nach Eigenschaften, das kommt später, wie zum Beispiel

Sichtbarkeit, das wäre eine Eigenschaft, sondern nach Zweck zum Beispiel ein Befehl auszuführen

oder eine Information auf einem Objekt zurückzugeben. Damit sind die Methodentypen auch

immer auf genau eine Funktion ausgerichtet und eine gute Methode hat somit auch einen Typ.

Natürlich kann man Methoden auch mehr überladen und sie mehrere Dinge machen lassen, aber im

Allgemeinen gilt es zu einer Mehrfachbelegung als schlechter Programmierstil, weil Sie auf Code

draufgucken wollen, die Methode angucken wollen und sagen, ja das ist der Zweck und nicht,

ach das sind die 13 Zwecke dieser Methode. Es gibt drei wesentliche Kategorien von Methodentypen.

Es gibt die Abfrage, Anfrage, Methoden, Query Methods im Englischen. Es gibt die Befehle,

also es gibt die verändernden Methoden, Mutations Methoden, Mutation Methods und dann gibt es noch

Methoden, die weder Information, also eine Query Method, eine Anfrage Methode, gibt natürlich

Informationen über das Objekt zurück und dann Mutation Method, die verändert den Zustand eines

Objektes und dann gibt es noch eine dritte Kategorie Hilfsmethoden, die weder eine bestimmte

Information zurückgeben über das konkrete angefragte Objekt, auf dem die Methode definiert

ist, noch den Zustand dieses Objektes verändern, also klassische Utility Methoden und auch davon

gibt es mehrere. Also von all diesen drei großen Kategorien gibt es jetzt unterschiedliche

Methodentypen. Die können statisch sein, aber statisch oder nicht statisch ist eine Methodeneigenschaft

und nicht ein Zweck. Ein Zweck zum Beispiel für Hilfsmethoden werden Zusicherungsmethoden sein,

um ein Beispiel vorweg zu nehmen, das heißt, die haben die Aufgabe zum Beispiel eine Zusicherung

auszuführen, also sicherzustellen. Kommt alles am Beispiel. Es ist dann so, dass Methodentypen,

die werden wir jetzt halt definieren, dann aber wenn sie gut definiert sind, mit bestimmten

Eigenschaften kommen, nämlich dass sie zum Beispiel eine klare Namensgebung haben. Ein

Beispiel kennen sie alle, den Methodentyp GETTER oder GET-Methode. Offensichtlich ist die

Namenskonvention, dass dort vielleicht die Methode mit GET beginnen sollte und dann das

der Name des Feldes üblicherweise folgt, dessen wir zurückgegeben werden sollen. Und dann sehen

wir auch, dass Methodentypen häufig mit bestimmten Implementierungsstrukturen, also einer inneren

Struktur der Methoden verbunden sind. So, das haben wir jetzt gesagt, also Abfragenmethoden,

Query Methods geben Informationen über ein Objekt zurück, sollten aber nicht parallel den Zustand

des Objekts verändern. Wie gesagt, eine Methode sollte einen Zweck haben, eine Anfrage Methode hat

den primären Zweck, Informationen über das Objekt zurückzugeben und jetzt dann auch noch nebenbei

den Zustand zu verändern, gilt im Allgemeinen nicht als schlechter Stil. Heißt nicht, dass es

nicht Idiome oder Ausnahmesituationen gibt, wo man das vielleicht doch macht, aber im Allgemeinen

gilt es erstmal als schlechten Stil, wenn eine Methode, die klarer Kennen bei Informationen zurückgibt,

plötzlich auch noch den Zustand eines Objekts verändert. Mutation Methods, wie gesagt, verändern

den Zustand des Objektes und die klare Empfehlung ist, diese sollten dann nicht noch Informationen

über das Objekt zurückgeben. Das mag vielleicht auf den ersten Blick etwas kontroverser sein,

warum sollten die dann immer void sein, also keinen Rückgabewert haben, naja, um diese saubere

Trennung herbeizuführen. Die grundsätzliche Aussage ist, Methodentypen helfen, wenn man sie dann

versteht und dann auch weiß, was sich hinter den Namenskonventionen dann für Methodentypen verbergen.

Methodentypen helfen, die Lesbarkeit von Code zu erhöhen und dort ist möglichst mit der Maßgabe

möglichst lesbaren Code zu produzieren, ist die Aussage, möglichst wenig tippen zu müssen,

irrelevant. Das heißt, Sie haben eine Mutation Method, die ändert den Zustand des Objektes und

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:23:44 Min

Aufnahmedatum

2019-11-04

Hochgeladen am

2019-11-07 10:39:03

Sprache

de-DE

Tags

methods primitive name class design definition programming components abstract string types method assertisvalidindex type protected query boolean jdk indexoutofboundsexception
Einbetten
Wordpress FAU Plugin
iFrame
Teilen